package cn.feng.thinkInJava.a8_2_字符串.strings.a13_07_01;
//: strings/ThreatAnalyzer.java
import java.util.regex.*;
import java.util.*;

/**用正则表达式扫描
 * @author fengyu
 * @date  2015年8月8日
 */
public class ThreatAnalyzer {
  static String threatData =
    "58.27.82.161@02/10/2005\n" +
    "204.45.234.40@02/11/2005\n" +
    "58.27.82.161@02/11/2005\n" +
    "58.27.82.161@02/12/2005\n" +
    "58.27.82.161@02/12/2005\n" +
    "[Next log section with different data format]";
			
	public static void main(String[] args)
	{
		Scanner scanner=new Scanner(threatData);
		String pattern="(\\d+[.]\\d+[.]\\d+[.]\\d+)@"+"(\\d{2}/\\d{2}/\\d{4})";
		while(scanner.hasNext(pattern))
		{
			scanner.next(pattern);
			MatchResult match=scanner.match();
			String ip=match.group(1);
			String date=match.group(2);
			System.out.format("Threat on %s from %s\n",date,ip);
		}
	}
} /* Output:
Threat on 02/10/2005 from 58.27.82.161
Threat on 02/11/2005 from 204.45.234.40
Threat on 02/11/2005 from 58.27.82.161
Threat on 02/12/2005 from 58.27.82.161
Threat on 02/12/2005 from 58.27.82.161
*///:~
